/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.msk.base.domain.goods;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.msk.common.utils.DictUtils;
import com.msk.common.utils.NumberFormatUtils;
import com.msk.common.utils.StringUtils;
import com.msk.sys.domain.AddressInfo;
import com.msk.sys.domain.DataEntity;
import com.msk.sys.domain.Material;
import com.msk.sys.domain.Office;
import com.msk.sys.utils.CustomerUtils;
import com.msk.sys.utils.DictMskUtils;
import com.msk.wlhy.domain.HtCompany;
import com.msk.wlhy.domain.HtLogisticsFrame;
import com.msk.wlhy.domain.HtSupplier;
import org.hibernate.validator.constraints.Length;
import java.util.Date;
import java.util.List;

/**
 * <p>[]</p>
 * <p>作者：lh</p>
 * <p>邮箱：lh@xiangyou.com</p>
 * <p>创建时间： 2018-11-30 </p>
 * <p>类说明：货主信息审核Entity </p>
 * <p>修改记录：</p>
 */
public class Goods extends DataEntity<Goods> {
	private static final long serialVersionUID = 1L;
	//货源名称
	private String name;
	//物料Entity
    private Material material;
	//货源类型
	private String goodsType;
	//发货地code
	private String startArea;
	//发货地转译值（省市区）
    private String startAreaName;
	//发货详细地址
	private String startPlace;
	//发货地坐标
	private String startCoordinate;
	//收货地code
    private String endArea;
	//收货地转译（省市区）
    private String endAreaName;
	//收货地详细地址
    private String endPlace;
	//收货地坐标
    private String endCoordinate;
	//参考货物重量(吨)
	private Double weight;
	//车辆要求(启用)
	private String carClaim;
	//单价
	private Double price;
	//总价
	private Double allPrice;
	//竞价开始时间
	private Date validTime;
	//有效时间（小时）
	private Integer validNum;
	//发货方公司ID
    private String contact;
	//
    private String contactId;
	//联系电话
	private String contactNumber;
	//货源状态
	private String type;
	//机构
	private Office office;
	//公司
	private Office company;
	//备注
    private String comment;
	//审核备注
    private String auditMessage;
	//
	private String attribute01;
	private String attribute02;
	private String attribute03;
	private String attribute04;
	private String attribute05;
	private String attribute06;
	private Date attribute07;
	private Date attribute08;
	// 转换后的货源类型 base_goods_type
	private String goodsTypeAlias;
	// 转换后的状态 base_audit_type
	private String typeAlias;
	// 转换后的删除标志
	private String delFlagAlias;
	private String companyName;
	private String createByName;
	private String updateByByName;
	//空是否再用未知
	private Double offer;
	//货源编号
	private String code;
	//托运客户（数据库为空）
	private HtCompany customer;
	//收货方公司ID
	private String contact1;
    private String contact1Id;
	//收货方电话
	private String contactNumber1;
	//
    private String consignerName;
    private String consigneeName;

    private String consignerCompanyName;//发货方
    private String consigneeCompanyName;//收货方
    
    private String textRate; //税率
    private String goodsNums;//货物数量
    private String priceCount; // 用来存放查询出来的报价数量

	private String isInsure;//是否投保
	private String insureFile;//投标附件
	private String loginId;//登录人的id
	private HtSupplier htSupplier;//承运商
	private HtLogisticsFrame htLogisticsFrame;//合同
	private List<AddressInfo> addressInfoList;//目的地
	private String publishWay;//发布方式
	private String publishWayAlias;
	private String distance;//运距
	private String measureUnit;//单位
	private String numberUnit;//计量单位
	private String onlineOrderNum;//电商订单号
	private String priceUnit;//计价单位
	private Double totalPrice;//货物总价
	private Double deliverPrice;//运费单价
	private Date pickTime;//提货时间
	private Date deliveryTime;//交货时间
	private Double blockPrice;//拦标价
	private Date biddingStartTime;//竞价开始时间
	private Date biddingEndTime;//竞价结束时间
	private Date queryDateTime;//对比竞价时间字段，只给报价列表使用

	private String goodsNameId;//货源名称ID字符串
	private String priceType;//报价方式 0:单价 1:总价
	private String priceTypeAlias;
	private String blockPriceTotal;//拦标总价
	private String vehicleRequire;//车辆要求 0:无要求 1:有要求

	private String goodsFile;//货物明细 上传文件
	private String contacts;//发货联系人
	private String contacts1;//收货联系人
	private String approveFile;//文件上传路径approve_file
	private Integer biddingStatus;//竞价状态 0:未竞价 1:竞价中 2:竞价成功 3:竞价失败
	private Integer biddingWay;//竞价方式
	private String biddingStatusAlias;//竞价状转换后的值
	private String price1;
	private String blockPrice1;



	/**
	 * add by wlxiang
	 * 新增推送人、时间、审核人、时间
	 * */
	private String pushUser;
	private Date pushTime;
	private String pushUserName;
	private String auditUser;
	private Date auditTime;
	private String auditUserName;

	private String searchState;

	private String userIdentity;

	private String createId;

	/**
	 * add by wlxiang
	 * 新增发货联系人2，收货联系人2
	 * 保存到当前表
	 * */
	private String  contactUser;
	private String contactUserTwo;
	private String contactNumberTwo;
	private String contact1User;
	private String contactUser1Two;
	private String contactNumber1Two;
	private String biddingStartTime0;
	private String biddingStartTime1;
	private String createDate0;
	private String createDate1;


	//private Date createDate;

	/**
	 * add by wlxiang
	 * '发布类型 1:全部发布 0:部分发布';
	 * */
	private String publishType;
	//承运商
	private String htSuppliers;

	/**
	 * 车辆要求载重
	 * add by wlxiang
	 *car_load
	 * 20210127
	 */
	private String carLoad;



	/**
	 * 部分导出使用
	 */
	private String[] idArray;

	/**
	 * 发送货主微信消息用
	 */
	private String openId;

	/**
	 * 支付状态 1:已支付 5:未支付
	 */
	private String payStatus;
	private Date payTime;//支付时间
	private String orderNo;//订单编号
	private String payStatusAlias;//支付状态展示

	/**
	 *
	 * 线下支付
	 */
	private String payWay;//'支付方式 1:微信 5:银企直连 10:线下汇款';
	private String payWayAlias;//'支付方式展示
	private Double payAmount;//支付金额
	private String transferVoucher;//转账凭证


	private String priceWay ;//计价方式 1:吨/公里 2:整车
	private String priceWayAlias;
	private String carNum;//需要整车数量
	private String carLong;//车辆长度要求
	//车辆类型
	private String carType;
	//司机报价单价
	private String driverPriceOffer;
	//官方报价
	private String officialPriceOffer;
	//报价状态
	private String offerStatus;
	//推送人ID
	private String pushId;
	//报价人数
	private String offerNumber;
	//比价ID
	private String priceCompareId;
	//合同名称
	private String contractName;

	public String getContractName() {
		return contractName;
	}

	public void setContractName(String contractName) {
		this.contractName = contractName;
	}

	public String getPriceCompareId() {
		return priceCompareId;
	}

	public void setPriceCompareId(String priceCompareId) {
		this.priceCompareId = priceCompareId;
	}

	public String getOfferNumber() {
		return offerNumber;
	}

	public void setOfferNumber(String offerNumber) {
		this.offerNumber = offerNumber;
	}

	public String getPushId() {
		return pushId;
	}

	public void setPushId(String pushId) {
		this.pushId = pushId;
	}

	public String getOfficialPriceOffer() {
		return officialPriceOffer;
	}

	public void setOfficialPriceOffer(String officialPriceOffer) {
		this.officialPriceOffer = officialPriceOffer;
	}

	public String getOfferStatus() {
		return offerStatus;
	}

	public void setOfferStatus(String offerStatus) {
		this.offerStatus = offerStatus;
	}

	public String getDriverPriceOffer() {
		return driverPriceOffer;
	}

	public void setDriverPriceOffer(String driverPriceOffer) {
		this.driverPriceOffer = driverPriceOffer;
	}

	public String getNumberUnit() {
		if (StringUtils.isBlank(numberUnit)) {
			numberUnit = "0";
		}
		return numberUnit;
	}

	public void setNumberUnit(String numberUnit) {
		this.numberUnit = numberUnit;
	}

	public String getConsignerCompanyName() {
		return consignerCompanyName;
	}

	public void setConsignerCompanyName(String consignerCompanyName) {
		this.consignerCompanyName = consignerCompanyName;
	}

	public String getConsigneeCompanyName() {
		return consigneeCompanyName;
	}

	public void setConsigneeCompanyName(String consigneeCompanyName) {
		this.consigneeCompanyName = consigneeCompanyName;
	}

	public String getGoodsNameId() {
		return goodsNameId;
	}

	public void setGoodsNameId(String goodsNameId) {
		this.goodsNameId = goodsNameId;
	}

	public Date getBiddingStartTime() {
		return biddingStartTime;
	}
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public void setBiddingStartTime(Date biddingStartTime) {
		this.biddingStartTime = biddingStartTime;
	}

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getBiddingEndTime() {
		return biddingEndTime;
	}

	public void setBiddingEndTime(Date biddingEndTime) {
		this.biddingEndTime = biddingEndTime;
	}

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getQueryDateTime() {
		return queryDateTime;
	}

	public void setQueryDateTime(Date queryDateTime) {
		this.queryDateTime = queryDateTime;
	}

	public Material getMaterial() {
		return material;
	}

	public void setMaterial(Material material) {
		this.material = material;
	}

	public Double getTotalPrice() {
		return totalPrice;
	}

	public void setTotalPrice(Double totalPrice) {
		this.totalPrice = totalPrice;
	}

	public Double getDeliverPrice() {
		return deliverPrice;
	}

	public void setDeliverPrice(Double deliverPrice) {
		this.deliverPrice = deliverPrice;
	}

	public Double getBlockPrice() {
		return blockPrice;
	}

	public void setBlockPrice(Double blockPrice) {
		this.blockPrice = blockPrice;
	}

	public String getPriceUnit() {
		return priceUnit;
	}

	public void setPriceUnit(String priceUnit) {
		this.priceUnit = priceUnit;
	}

	public String getDistance() {
		return distance;
	}

	public void setDistance(String distance) {
		this.distance = distance;
	}

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getPickTime() {
		return pickTime;
	}

	public void setPickTime(Date pickTime) {
		this.pickTime = pickTime;
	}

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getDeliveryTime() {
		return deliveryTime;
	}

	public void setDeliveryTime(Date deliveryTime) {
		this.deliveryTime = deliveryTime;
	}

	public String getPublishWay() {
		return publishWay;
	}

	public void setPublishWay(String publishWay) {
		this.publishWay = publishWay;
	}

	public String getMeasureUnit() {
		if (StringUtils.isBlank(measureUnit)) {
			measureUnit = "1";
		}
		return measureUnit;
	}

	public void setMeasureUnit(String measureUnit) {
		this.measureUnit = measureUnit;
	}

	public String getOnlineOrderNum() {
		return onlineOrderNum;
	}

	public void setOnlineOrderNum(String onlineOrderNum) {
		this.onlineOrderNum = onlineOrderNum;
	}

	public HtLogisticsFrame getHtLogisticsFrame() {
		return htLogisticsFrame;
	}

	public void setHtLogisticsFrame(HtLogisticsFrame htLogisticsFrame) {
		this.htLogisticsFrame = htLogisticsFrame;
	}

	public List<AddressInfo> getAddressInfoList() {
		return addressInfoList;
	}

	public void setAddressInfoList(List<AddressInfo> addressInfoList) {
		this.addressInfoList = addressInfoList;
	}

	public String getLoginId() {
		return loginId;
	}

	public void setLoginId(String loginId) {
		this.loginId = loginId;
	}

	public HtSupplier getHtSupplier() {
		return htSupplier;
	}

	public void setHtSupplier(HtSupplier htSupplier) {
		this.htSupplier = htSupplier;
	}

	public String getPriceCount() {
		return priceCount;
	}

	public void setPriceCount(String priceCount) {
		this.priceCount = priceCount;
	}

	public Goods() {
		super();
	}

	public Goods(String id){
		super(id);
	}

	public String getIsInsure() {
		return isInsure;
	}

	public void setIsInsure(String isInsure) {
		this.isInsure = isInsure;
	}

	public String getInsureFile() {
		return insureFile;
	}

	public void setInsureFile(String insureFile) {
		this.insureFile = insureFile;
	}

	public Double getOffer() {
		return offer;
	}
	
	public void setOffer(Double offer) {
		this.offer = offer;
	}
	
	@Length(min=0, max=255, message="货源名称长度必须介于 0 和 255 之间")
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
	@Length(min=0, max=32, message="货源类型 base_goods_type长度必须介于 0 和 32 之间")
	public String getGoodsType() {
		return goodsType;
	}

	public void setGoodsType(String goodsType) {
		this.goodsType = goodsType;
	}
	
	@Length(min=0, max=255, message="起运地长度必须介于 0 和 255 之间")
	public String getStartArea() {
		return startArea;
	}

	public void setStartArea(String startArea) {
		this.startArea = startArea;
	}
	
	@Length(min=0, max=255, message="详细地址长度必须介于 0 和 255 之间")
	public String getStartPlace() {
		return startPlace;
	}

	public void setStartPlace(String startPlace) {
		this.startPlace = startPlace;
	}
	
	@Length(min=0, max=255, message="开始位置坐标长度必须介于 0 和 255 之间")
	public String getStartCoordinate() {
		return startCoordinate;
	}

	public void setStartCoordinate(String startCoordinate) {
		this.startCoordinate = startCoordinate;
	}
	
	public Double getWeight() {
		return weight;
	}

	public void setWeight(Double weight) {
		this.weight = weight;
	}
	
	@Length(min=0, max=255, message="车辆要求长度必须介于 0 和 255 之间")
	public String getCarClaim() {
		return carClaim;
	}

	public void setCarClaim(String carClaim) {
		this.carClaim = carClaim;
	}
	
	public Double getPrice() {
		return price;
	}

	public void setPrice(Double price) {
		this.price = price;
	}
	
	public Double getAllPrice() {
		return allPrice;
	}

	public void setAllPrice(Double allPrice) {
		this.allPrice = allPrice;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getValidTime() {
		return validTime;
	}

	public void setValidTime(Date validTime) {
		this.validTime = validTime;
	}
	
	public Integer getValidNum() {
		return validNum;
	}

	public void setValidNum(Integer validNum) {
		this.validNum = validNum;
	}
	
	@Length(min=0, max=255, message="联系电话长度必须介于 0 和 255 之间")
	public String getContactNumber() {
		return contactNumber;
	}

	public void setContactNumber(String contactNumber) {
		this.contactNumber = contactNumber;
	}
	
	@Length(min=0, max=32, message="状态 base_audit_type长度必须介于 0 和 32 之间")
	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}
	
	public Office getOffice() {
		return office;
	}

	public void setOffice(Office office) {
		this.office = office;
	}
	
	public Office getCompany() {
		return company;
	}

	public void setCompany(Office company) {
		this.company = company;
	}
	
	@Length(min=0, max=255, message="备注长度必须介于 0 和 255 之间")
	public String getComment() {
		return comment;
	}
	
	public void setComment(String comment) {
		this.comment = comment;
	}
	@Length(min=0, max=255, message="审核驳回意见长度必须介于 0 和 255 之间")
	public String getAuditMessage() {
		return auditMessage;
	}
	
	public void setAuditMessage(String auditMessage) {
		this.auditMessage = auditMessage;
	}
	
	
	@Length(min=0, max=255, message="attribute01长度必须介于 0 和 255 之间")
	public String getAttribute01() {
		return attribute01;
	}

	public void setAttribute01(String attribute01) {
		this.attribute01 = attribute01;
	}
	
	@Length(min=0, max=255, message="attribute02长度必须介于 0 和 255 之间")
	public String getAttribute02() {
		return attribute02;
	}

	public void setAttribute02(String attribute02) {
		this.attribute02 = attribute02;
	}
	
	@Length(min=0, max=255, message="attribute03长度必须介于 0 和 255 之间")
	public String getAttribute03() {
		return attribute03;
	}

	public void setAttribute03(String attribute03) {
		this.attribute03 = attribute03;
	}
	
	@Length(min=0, max=255, message="attribute04长度必须介于 0 和 255 之间")
	public String getAttribute04() {
		return attribute04;
	}

	public void setAttribute04(String attribute04) {
		this.attribute04 = attribute04;
	}
	
	@Length(min=0, max=255, message="attribute05长度必须介于 0 和 255 之间")
	public String getAttribute05() {
		return attribute05;
	}

	public void setAttribute05(String attribute05) {
		this.attribute05 = attribute05;
	}
	
	@Length(min=0, max=255, message="attribute06长度必须介于 0 和 255 之间")
	public String getAttribute06() {
		return attribute06;
	}

	public void setAttribute06(String attribute06) {
		this.attribute06 = attribute06;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getAttribute07() {
		return attribute07;
	}

	public void setAttribute07(Date attribute07) {
		this.attribute07 = attribute07;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getAttribute08() {
		return attribute08;
	}

	public void setAttribute08(Date attribute08) {
		this.attribute08 = attribute08;
	}
	
	
	public String getGoodsTypeAlias() {
		if(StringUtils.isBlank(goodsTypeAlias)){
			return DictMskUtils.getDictLabel(goodsType, "goods_type", "");
		}
		return goodsTypeAlias;
	}

	public void setGoodsTypeAlias(String goodsTypeAlias) {
		this.goodsTypeAlias = goodsTypeAlias;
	}
	public String getTypeAlias() {
		if(StringUtils.isBlank(typeAlias)){
			return DictMskUtils.getDictLabel(type, "base_audit_type", "");
		}
		return typeAlias;
	}

	public void setTypeAlias(String typeAlias) {
		this.typeAlias = typeAlias;
	}
	public String getDelFlagAlias() {
		if(StringUtils.isBlank(delFlagAlias)){
			return DictMskUtils.getDictLabel(delFlag, "del_flag", "");
		}
		return delFlagAlias;
	}

	public void setDelFlagAlias(String delFlagAlias) {
		this.delFlagAlias = delFlagAlias;
	}
	
	public String getLogTitle() {
		return "货主信息审核";
	}
	
//	public String getLogType() {
//		return Log.LogType.module_operate.name();
//	}

	public String getEndArea() {
		return endArea;
	}

	public void setEndArea(String endArea) {
		this.endArea = endArea;
	}

	public String getEndPlace() {
		return endPlace;
	}

	public void setEndPlace(String endPlace) {
		this.endPlace = endPlace;
	}

	public String getEndCoordinate() {
		return endCoordinate;
	}

	public void setEndCoordinate(String endCoordinate) {
		this.endCoordinate = endCoordinate;
	}

	public String getContact() {
		return contact;
	}

	public void setContact(String contact) {
		this.contact = contact;
	}

    public String getContactId() {
        return contactId;
    }

    public void setContactId(String contactId) {
        this.contactId = contactId;
    }

    public String getStartAreaName() {
		return startAreaName;
	}

	public void setStartAreaName(String startAreaName) {
		this.startAreaName = startAreaName;
	}

	public String getEndAreaName() {
		return endAreaName;
	}

	public void setEndAreaName(String endAreaName) {
		this.endAreaName = endAreaName;
	}

	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public HtCompany getCustomer() {
		return customer;
	}

	public void setCustomer(HtCompany customer) {
		this.customer = customer;
	}

    public String getContact1() {
        return contact1;
    }

    public void setContact1(String contact1) {
        this.contact1 = contact1;
    }

    public String getContact1Id() {
        return contact1Id;
    }

    public void setContact1Id(String contact1Id) {
        this.contact1Id = contact1Id;
    }


    public String getContactNumber1() {
		return contactNumber1;
	}

	public void setContactNumber1(String contactNumber1) {
		this.contactNumber1 = contactNumber1;
	}

    public String getConsignerName() {
		if(StringUtils.isBlank(consignerName) && StringUtils.isNotBlank(contact)){
			if(null != CustomerUtils.get(contact)){
				return CustomerUtils.get(contact).getContacts();
			}
			return consignerName;
		}
		return consignerName;
	}

	public void setConsignerName(String consignerName) {
		this.consignerName = consignerName;
	}

	public String getConsigneeName() {
		if(StringUtils.isBlank(consigneeName) && StringUtils.isNotBlank(contact1)){
			if(null != CustomerUtils.get(contact1)){
				return CustomerUtils.get(contact1).getCustomerName1();
			}
			return consigneeName;
		}
		return consigneeName;
	}

	public void setConsigneeName(String consigneeName) {
		this.consigneeName = consigneeName;
	}

	public String getTextRate() {
		return textRate;
	}

	public void setTextRate(String textRate) {
		this.textRate = textRate;
	}

	public String getGoodsNums() {
		return goodsNums;
	}

	public void setGoodsNums(String goodsNums) {
		this.goodsNums = goodsNums;
	}

	public String getPriceType() {
		return priceType;
	}

	public void setPriceType(String priceType) {
		this.priceType = priceType;
	}

	public String getBlockPriceTotal() {
		if (StringUtils.isNotBlank(blockPriceTotal)) {
			blockPriceTotal = NumberFormatUtils.roundByScale(blockPriceTotal, 2);
		}
		return blockPriceTotal;
	}

	public void setBlockPriceTotal(String blockPriceTotal) {
		this.blockPriceTotal = blockPriceTotal;
	}

	public String getVehicleRequire() {
		return vehicleRequire;
	}

	public void setVehicleRequire(String vehicleRequire) {
		this.vehicleRequire = vehicleRequire;
	}

	public String getGoodsFile() {
		return goodsFile;
	}

	public void setGoodsFile(String goodsFile) {
		this.goodsFile = goodsFile;
	}

	public String getContacts() {
		return contacts;
	}

	public void setContacts(String contacts) {
		this.contacts = contacts;
	}

	public String getContacts1() {
		return contacts1;
	}

	public void setContacts1(String contacts1) {
		this.contacts1 = contacts1;
	}

	public String getApproveFile() {
		return approveFile;
	}

	public void setApproveFile(String approveFile) {
		this.approveFile = approveFile;
	}

	public Integer getBiddingStatus() {
		return biddingStatus;
	}

	public void setBiddingStatus(Integer biddingStatus) {
		this.biddingStatus = biddingStatus;
	}

	public Integer getBiddingWay() {
		return biddingWay;
	}

	public void setBiddingWay(Integer biddingWay) {
		this.biddingWay = biddingWay;
	}

	public String getBiddingStatusAlias() {
		if(StringUtils.isBlank(biddingStatusAlias)){
			return DictMskUtils.getDictLabel(StringUtils.getString(biddingStatus), "bidding_status", "");
		}
		return biddingStatusAlias;
	}

	public void setBiddingStatusAlias(String biddingStatusAlias) {
		this.biddingStatusAlias = biddingStatusAlias;
	}

	public String getCompanyName() {
		if(StringUtils.isNotBlank(contact)){
			if(null != CustomerUtils.get(contact)){
				return CustomerUtils.get(contact).getCompanyName();
			}
			return companyName;
		}
		return companyName;
	}

	public void setCompanyName(String companyName) {
		this.companyName = companyName;
	}

	public String getPushUser() {
		return pushUser;
	}

	public void setPushUser(String pushUser) {
		this.pushUser = pushUser;
	}

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getPushTime() {
		return pushTime;
	}

	public String getPushUserName() {
		if(StringUtils.isNotBlank(pushUser)){
//			if(null != UserUtils.get(pushUser)){
//				return UserUtils.get(pushUser).getName();
//			}
			return pushUserName;
		}
		return pushUserName;
	}

	public void setPushUserName(String pushUserName) {
		this.pushUserName = pushUserName;
	}

	public void setPushTime(Date pushTime) {
		this.pushTime = pushTime;
	}

	public String getAuditUser() {
		return auditUser;
	}

	public void setAuditUser(String auditUser) {
		this.auditUser = auditUser;
	}

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getAuditTime() {
		return auditTime;
	}

	public void setAuditTime(Date auditTime) {
		this.auditTime = auditTime;
	}


	public String getAuditUserName() {
		if(StringUtils.isNotBlank(auditUser)){
//			if(null != UserUtils.get(auditUser)){
//				return UserUtils.get(auditUser).getName();
//			}
			return auditUserName;
		}
		return auditUserName;
	}

	public void setAuditUserName(String auditUserName) {
		this.auditUserName = auditUserName;
	}

	public String getSearchState() {
		return searchState;
	}

	public void setSearchState(String searchState) {
		this.searchState = searchState;
	}

	public String getCreateByName() {
		if(createBy != null && StringUtils.isNotBlank(createBy.getId())){
//			if(null != UserUtils.get(createBy.getId())){
//				return UserUtils.get(createBy.getId()).getName();
//			}
			return createByName;
		}
		return createByName;
	}

	public void setCreateByName(String createByName) {
		this.createByName = createByName;
	}

	public String getUpdateByByName() {
		if(updateBy != null && StringUtils.isNotBlank(updateBy.getId())){
//			if(null != UserUtils.get(updateBy.getId())){
//				return UserUtils.get(updateBy.getId()).getName();
//			}
			return updateByByName;
		}
		return updateByByName;
	}

	public void setUpdateByByName(String updateByByName) {
		this.updateByByName = updateByByName;
	}

	public String getUserIdentity() {
		return userIdentity;
	}

	public void setUserIdentity(String userIdentity) {
		this.userIdentity = userIdentity;
	}

	public String getCreateId() {
		return createId;
	}

	public void setCreateId(String createId) {
		this.createId = createId;
	}

	public String getPrice1() {
		return price1;
	}

	public void setPrice1(String price1) {
		this.price1 = price1;
	}

	public String getBlockPrice1() {
		return blockPrice1;
	}

	public void setBlockPrice1(String blockPrice1) {
		this.blockPrice1 = blockPrice1;
	}

	public String getContactUser() {
		return contactUser;
	}

	public void setContactUser(String contactUser) {
		this.contactUser = contactUser;
	}

	public String getContactUserTwo() {
		return contactUserTwo;
	}

	public void setContactUserTwo(String contactUserTwo) {
		this.contactUserTwo = contactUserTwo;
	}

	public String getContactNumberTwo() {
		return contactNumberTwo;
	}

	public void setContactNumberTwo(String contactNumberTwo) {
		this.contactNumberTwo = contactNumberTwo;
	}

	public String getContact1User() {
		return contact1User;
	}

	public void setContact1User(String contact1User) {
		this.contact1User = contact1User;
	}

	public String getContactUser1Two() {
		return contactUser1Two;
	}

	public void setContactUser1Two(String contactUser1Two) {
		this.contactUser1Two = contactUser1Two;
	}

	public String getContactNumber1Two() {
		return contactNumber1Two;
	}

	public void setContactNumber1Two(String contactNumber1Two) {
		this.contactNumber1Two = contactNumber1Two;
	}

	public String getPublishType() {
		return publishType;
	}

	public String getBiddingStartTime0() {
		return biddingStartTime0;
	}

	public void setBiddingStartTime0(String biddingStartTime0) {
		this.biddingStartTime0 = biddingStartTime0;
	}

	public String getBiddingStartTime1() {
		return biddingStartTime1;
	}

	public void setBiddingStartTime1(String biddingStartTime1) {
		this.biddingStartTime1 = biddingStartTime1;
	}

	public String getCreateDate0() {
		return createDate0;
	}

	public void setCreateDate0(String createDate0) {
		this.createDate0 = createDate0;
	}

	public String getCreateDate1() {
		return createDate1;
	}

	public void setCreateDate1(String createDate1) {
		this.createDate1 = createDate1;
	}

	public void setPublishType(String publishType) {
		this.publishType = publishType;
	}

	public String getHtSuppliers() {
		return htSuppliers;
	}

	public void setHtSuppliers(String htSuppliers) {
		this.htSuppliers = htSuppliers;
	}

	public String getCarLoad() {
		return carLoad;
	}

	public void setCarLoad(String carLoad) {
		this.carLoad = carLoad;
	}

	public String[] getIdArray() {
		return idArray;
	}

	public void setIdArray(String[] idArray) {
		this.idArray = idArray;
	}

	public String getPriceTypeAlias() {
		if(priceType != null && !priceType.equalsIgnoreCase("")){
			if(priceType.equalsIgnoreCase("1")){
				return "总价";
			}else{
				return "单价";
			}
		}else{
			return "";
		}
	}

	public void setPriceTypeAlias(String priceTypeAlias) {
		this.priceTypeAlias = priceTypeAlias;
	}

	public String getPublishWayAlias() {
		if("1".equalsIgnoreCase(publishWay)){
			return "直接发布";
		}else if("2".equalsIgnoreCase(publishWay)){
			return "定向发布";
		}else if("3".equalsIgnoreCase(publishWay)){
			return "竞价模式";
		}else{
			return "";
		}
	}

	public void setPublishWayAlias(String publishWayAlias) {
		this.publishWayAlias = publishWayAlias;
	}

/*
	@Override
	public Date getCreateDate() {
		return createDate;
	}

	@Override
	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}
*/

	public String getOpenId() {
		return openId;
	}

	public void setOpenId(String openId) {
		this.openId = openId;
	}

	public String getPayStatus() {
		return payStatus;
	}

	public void setPayStatus(String payStatus) {
		this.payStatus = payStatus;
	}

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getPayTime() {
		return payTime;
	}

	public void setPayTime(Date payTime) {
		this.payTime = payTime;
	}

	public String getOrderNo() {
		return orderNo;
	}

	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}

	public String getPayStatusAlias() {
		if (StringUtils.isNotBlank(payStatus)) {
			payStatusAlias = DictMskUtils.getDictLabel(payStatus, "pay_status", "");
		}
		return payStatusAlias;
	}

	public void setPayStatusAlias(String payStatusAlias) {
		this.payStatusAlias = payStatusAlias;
	}

	public String getPayWay() {
		return payWay;
	}

	public void setPayWay(String payWay) {
		this.payWay = payWay;
	}

	public String getPayWayAlias() {
		if (StringUtils.isNotBlank(payWay)) {
			payWayAlias = DictMskUtils.getDictLabel(payWay, "pay_way_status", "");
		}
		return payWayAlias;
	}

	public void setPayWayAlias(String payWayAlias) {
		this.payWayAlias = payWayAlias;
	}

	public Double getPayAmount() {
		return payAmount;
	}

	public void setPayAmount(Double payAmount) {
		this.payAmount = payAmount;
	}

	public String getTransferVoucher() {
		return transferVoucher;
	}

	public void setTransferVoucher(String transferVoucher) {
		this.transferVoucher = transferVoucher;
	}

	public String getPriceWay() {
		return priceWay;
	}

	public void setPriceWay(String priceWay) {
		this.priceWay = priceWay;
	}

	public String getPriceWayAlias() {
		if (StringUtils.isNotBlank(priceWay)) {
			priceWayAlias = DictMskUtils.getDictLabel(priceWay, "price_way", "");
		}
		return priceWayAlias;
	}

	public void setPriceWayAlias(String priceWayAlias) {
		this.priceWayAlias = priceWayAlias;
	}

	public String getCarNum() {
		return carNum;
	}

	public void setCarNum(String carNum) {
		this.carNum = carNum;
	}

	public String getCarLong() {
		return carLong;
	}

	public void setCarLong(String carLong) {
		this.carLong = carLong;
	}

	public String getCarType() {
		return carType;
	}

	public void setCarType(String carType) {
		this.carType = carType;
	}
}